package com.sale.system.api;

import com.sale.system.api.domain.dto.SysAuxiliaryUnitDateDetailResultDto;
import com.sale.system.api.domain.dto.SysMaterialFinishedResultDto;
import com.sale.system.api.domain.dto.SysMaterialRawResultDto;
import com.sale.system.api.model.MaterialUnitDto;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * @Author: YSL
 * @Date: 2023/7/27 15:02
 * @Desc: 库存查询 dubbo
 */
public interface RemoteInventoryInquiryService {

    /**
     * 根据物料编码获取原料详情
     * @param materialCode
     * @return
     */
    SysMaterialRawResultDto getByMaterialCode(@PathVariable String materialCode) throws Exception;

    /**
     * 根据物料编码获取成品详情
     * @param materialCode
     * @return
     */
    SysMaterialFinishedResultDto getByFinishedMaterialCode(@PathVariable String materialCode) throws Exception;

    /**
     * 根据物料的单计量单位id查询单位详情
     * @param auxiliaryId
     * @return
     */
    MaterialUnitDto getByAuxiliaryData(@PathVariable Long auxiliaryId) throws Exception;

    /**
     * 根据id查询多计量单位
     * @param unitId
     * @return
     */
    SysAuxiliaryUnitDateDetailResultDto getMaterialUnitById(@PathVariable Long unitId,Long materialId) throws Exception;

    /**
     * 查询多单位换算
     * @return
     */
    MaterialUnitDto selectMaterialUnitList(Long id, Long unitQuantity);

    /**
     * 查询多单位换算(采购打印明细列表使用)
     * @return
     */
    MaterialUnitDto selectAtWillMaterialUnitList(Long id, Long unitQuantity);
}


